Обробка символьних рядків. Робота з файлами

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
ІКТА
Факультет:
ЗІ
Кафедра:
Не вказано

Інформація про роботу

Рік:
2024
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмічні мови та програмування

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» ІКТА кафедра З В І Т до лабораторної роботи №4 з курсу: «Алгоритмічні мови та програмування» на тему: «Обробка символьних рядків. Робота з файлами» Варіант № 4 Мета роботи – вивчити елементи мови Сі, рядки, рядкові константи, принципи потокового вводу-виводу, стандартні файли і функції для роботи з ними. Завдання Сформувати і вивести на екран текстовий файл, в якому всі операторні дужки “{” і “}” замінюються на “Begin” і “End” відповідно. Підрахувати кількість операторів циклу for і умовних операторів if. Список ідентифікаторів, констант, змінних, функцій, використаних у програмі, та їх пояснення n – лічильник a,b,c,d,m – змінні цілого в які записуються зчитані з файлу символи main() – головна функція printf(),fprintf(),fputc() – функції виводу даних scanf(),fgetc(),fgets() – функції вводу даних while() – оператор циклу з передумовою reform() – функція для редагування файлу ifnum() – функція для підрахунку кількості оп. “if” fseek()– функція для переміщення курсора в потоці remove() – функція для видалення вказаного файлу fopen() – функція для відкриття потоку fclose() – функція для закриття потоку Текст програми #include <stdio.h> #include <stdlib.h> void ifnum(FILE *d); void fornum(FILE *d); void reform(FILE *a); void main(void) { FILE *file; file=fopen("Laba3.txt","r"); reform(file); fseek(file,0,SEEK_SET); fornum(file); fseek(file,0,SEEK_SET); ifnum(file); fclose(file); } void fornum(FILE *d) { int a,b,c,m,n=0; while(m!=EOF) { a=fgetc(d); b=fgetc(d); c=fgetc(d); m=fgetc(d); fseek(d,-3,SEEK_CUR); if(a=='f' && b=='o' && c=='r' && m=='(') n++; } printf("\nnumbers of \"for\" =%d\n",n); fprintf(d,"\nnumbers of \"for\" =%d\n",n); } void ifnum(FILE *d) { int a,b,c,n=0; while(c!=EOF) { a=fgetc(d); b=fgetc(d); c=fgetc(d); fseek(d,-2,SEEK_CUR); if(a=='i' && b=='f' && c=='(') n++; } printf("\nnumbers of \"if\" =%d\n",n); fprintf(d,"\nnumbers of \"if\" =%d\n",n); } void reform(FILE *a) { int c; char b[60]; FILE *buf; buf=fopen("buffer.txt","w"); while(c!=EOF) { fgets(b,60,a); c=fgetc(a); fseek(a,-1,SEEK_CUR); fprintf(buf,"%s",b); } c='a'; fclose(buf); fclose(a); buf=fopen("buffer.txt","r"); a=fopen("Laba3.txt","w"); while(c!=EOF) { c=fgetc(buf); if(c=='{') { fprintf(a,"Begin"); printf("Begin"); } else if(c=='}') { fprintf(a,"End"); printf("End"); } else { fputc(c,a); printf("%c",c); } } fclose(a); fclose(buf); remove("buffer.txt"); a=fopen("Laba3.txt","a+"); } Результати роботи програми 
Антиботан аватар за замовчуванням

25.01.2014 19:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини